home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Over 1,000 Windows 95 Programs
/
Over 1000 Windows 95 Programs (Microforum) (Disc 1).iso
/
1145
/
n4pass.txt
< prev
next >
Wrap
Text File
|
1997-04-17
|
54KB
|
1,170 lines
Version 1.31 January 31, 97
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
NNNN NNN 444 444 PPPPPPPPP AAAAAAAA SSSSSSSSSS SSSSSSSSSS
NNNNN NNN 444 444 PPP PPP AAA AAA SSS SSS
NNNNNNNNNN 444444444 PPPPPPPPP AAAAAAAAAA SSSSSSSSSS SSSSSSSSSS
NNN NNNNN 444 PPP AAA AAA SSS SSS
NNN NNNN 444 PPP AAA AAA SSSSSSSSSS SSSSSSSSSS
Please send bug reports (or suggestions) to:
Compuserve: 75600, 2274
Internet: DCOLLINS@FASTLANE.NET
You can find the latest versions at:
Compuserve: forum NOVUSER FileName: N4PAxx.*
Internet: web page http://www.fastlane.net/homepages/dcollins
Please see NDS-LIST.TXT for information on more utilities.
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Basic rules are:
You need to run DS.NLM version 4.89a Aug 30,1995 or later.
Verify that you set the TZ environment variable on your workstation.
Example: SET TZ=CST6CDT for Central Standard Time.
Verify that you have SET NWLANGUAGE=ENGLISH
You should have your NLS and Unicode files properly installed. Normally,
you can find these files under the NLS subdirectory on your C: drive,
and also the SYS:\PUBLIC\NLS subdirectories.
The utilities have been tested on:
Server:
Netware 4.10 (DS.NLM v4.89a or later)
Netware 4.11.
Workstation:
DOS 5.0 - DOS 6.22 with Netware VLM 1.2 drivers,
Windows 95 with Novell Client32.
Windows 3.1x with VLM 1.2 drivers.
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Application:
============
This utility is designed for the Helpdesk staff to view network user
information relating to security and the capability to 'reset' the user
password. It is specifically designed for a Netware 4.10 network.
It is composed of two parts:
Server - N4PASS.NLM that will run on the server which will do the
real work for searching for users, reading attribute names
and values, and changing the user's password.
Client - N4PASS.EXE that will run on the Helpdesk's workstation.
It is Windows based, and is the 'frontend' for the tasks
that the helpdesk wants done.
Communication method:
A common subdirectory that is used for transferring information
between the server and the client. This method makes its 'protocal
less' and 'platform less' since the Client piece can be running on
a Macintosh, Unix, or via a smart email agent... running the standard
IPX/SPX, TCP/IP or other protocals.
Registration:
=============
This software is freeware. It is created to help network administrators
'empower' the helpdesk staff. Please be patient with any problems
that you encounter with this utility.
Here is a thought... if this utility has saved you alot of time, perhaps
you can send me a company T-shirt, postcard or something.
If you are interested in the source code, then please send $50 (US Dollars)
to: N4PASS source code; 1216 Hilburn Ct; Irving, TX; 75060; USA
N4PASS.EXE - written in MS Visual Basic 4.0 (16bit)
N4PASS.NLM - written in Watcom C 9.0x with Novell SDK vol 4.
Disclaimer:
===========
Please apply all standard disclaimers here.
Seriously, this utility is meant to help you... not destroy your
environment or waste your user's time.
This utility uses only standard API calls from official Novell SDK
releases and is compiled using Microsoft Visual C/C++ version 1.5.
Large Memory model.
If you find bugs, then let me know. Otherwise, I can't fix them.
If you wish to include any of these utilities found in this ZIP file
in a publication, you must obtain written permission first. Thank You
How to Install:
===============
The below instructions assume:
. Drive letter F: is pointing to the SYS:\ subdirectory on the same
server that your helpdesk staff are located on. This same server
will be running the N4PASS.NLM utility.
. It is suggested that you do use the subdirectory name of SYS:\N4PASS
unless your security policy or storage requirements require a different
location. If using a different location, make the necessary path
changes to all references below and in the N4PASS.CFG file.
. Utilities are unpacked onto a diskette in Drive A:.
. It is very highly suggested that the user account that N4Pass.NLM
will use to login to the network is an admin-equivalent. If the
account is not, then the account must have sufficient ACL to change
user passwords and File System rights starting at the server's
SYS:\N4PASS subdirectory.
I believe, if the NLM account is not an Admin equal, then they
will need:
All objects rights except Supervisor.
All property rights including Supervisor.
Object trustees (ACL) grant only Read and Compare.
Its simply alot better to have the NLM use an admin-equal account.
For security... in summary:
The account that the .NLM will use should be an admin-equal.
The accounts that the Helpdesk staff use are 'normal' accounts.
(no special ACL rights are needed)
Make the appropiate changes in the commands below if your environment is
different.
1. Copy the N4PASS utility to the network server.
F:
MD F:\N4PASS
MD F:\N4PASS\PASSWORD
COPY A:\N4PASS.NLM F:\N4PASS
COPY A:\N4PASS.CFG F:\N4PASS
COPY A:\N4PASS.EXE F:\N4PASS\PASSWORD
COPY A:\N4PASS.EXE F:\N4PASS\PASSWORD\N4PASSVB.EXE
2. Setup security (trustee access rights) for the helpdesk staff.
SYS:\N4PASS
- No helpdesk staff should be able to 'read' from this
subdirectory so it is suggested that you do not provide any
trustee rights to this directory. Further, since a password
is kept in the N4PASS.CFG in this directory, it is very
strongly suggested that you verify that no one has read access.
- A file named N4PASS.LOG will be created in this subdirectory
by the N4PASS.NLM app.
SYS:\N4PASS\PASSWORD
- HelpDesk staff will be using this directory to 'execute' the
N4PASS.EXE utility and it will also be used as a
'ScanDirectory' for communication between N4PASS.EXE
running on the workstation and the N4PASS.NLM running on the
server.
Rights needed by helpdesk staff to this subdirectory are:
Create - create inquire / password change requests.
Read - execute n4pass.exe, and read results from N4PASS.NLM.
Erase - erase the results when read.
FileScan - your Windows app may need this.
The command to setup trustee rights for a user is:
RIGHTS SYS:\N4PASS\PASSWORD C R E F /NAME=HelpDeskUserObjectName
- It is suggested that this subdirectory by 'FLAG'ged as 'Purge'
immediate, so that the request/result file will be purged as
soon as they are erased.
The command to set this is: FLAG SYS:\N4PASS\PASSWORD P /DO
3. Configure the N4PASS.CFG file.
In the SYS:\N4PASS subdirectory, there is a N4PASS.CFG file, that
you will need to configure.
Specifically, you will need to ensure that the settings for the
Admin-equal and password are correct.
Also, verify that you set the value for the 'Seed' between 0 and
10000. This same value will be used later when configuring the
(client) Windows workstation running N4PASS.EXE.
For additional security: (if you don't like setting the admin-equal
object name and its password in the text file N4PASS.CFG.)
- Set the 'network address restrictions' so that this account can
be used only be the server network address only. The easiest
method to do this is:
Load N4pass.Nlm, wait for it to login, Load Monitor, select
Connection Information, move the cursor to the account name
that you are using, and press Enter. The network address
should then be displayed.
4. At the : console prompt on the Netware 4.10 server.
Type at this : console prompt:
LOAD SYS:\N4PASS\N4PASS
When loaded it should create a new 'process' screen called N4PASS.
(BTW: Use CTRL-ESC to rotate thru the different Netware screens.)
If are not using the SYS:\N4PASS subdirectory for the 'base' of the
.NLM, then you will need to specify the subdirectory as the 1st
parameter in the 'load' line. For example, if you want the
N4PASS.NLM to load from the subdirectory VOL1:\NLM-UTIL, then you
would use: LOAD VOL1:\NLM-UTIL\N4PASS VOL1:\NLM-UTIL
5. Setting up N4PASS.EXE on the Window's based workstation.
Execute Windows 3.10 or later. You will need a NDS connection to
the server. (Use VLMs or the Novell Client32 if using Windows95)
Create a new program group in your preferred 'program group':
Description: HelpDesk user Inquiry
Command Line: F:\N4PASS\PASSWORD\N4PASS.EXE /S=SeedValue
(SeedValue must the same value that you used in N4PASS.CFG)
Working Directory: F:\N4PASS\PASSWORD
Save the 'Program Items'.
Command parameters:
/D= specify scan directory. Normally, sys:\n4pass\password
(you may have to use this parameter if client is Windows95)
/TI= sets of 15seconds for 'time out' message. The default is 2,
which equals 30 seconds. If your tree is large, or you receive
alot of 'no response from search request' messages, then, you
will need to increase this value.
Valid range is from 1 to 5000.
/S= Seed value. The value must match the seed setting in the
n4pass.cfg file. If the value does not match the setting
in the .cfg file, then, the new password for the 'resetted'
user will not match what the N4Pass screen says. This will
basically, yield in a 'Access Denied' on the user trying to
login. You (Admin) will then need to look in the N4Pass.Log
file, to see what the user's password was actually changed to.
(So, verify that the Seed value is the same.)
/Specify - allow the helpdesk to specify the new password.
You must change the default setting for this in the n4pass.cfg
file. (see AllowSpecifyNewPassword setting)
6. Miscellaneous items to check.
Verify that you have 'Intruder Detection' turned on for the containers
that your user accounts are in. If you do not, then it makes your
system more open to 'brute force' password attack.
7. Installation is done.
You will not need to UNLOAD/LOAD N4PASS.NLM unless you make changes
to the N4PASS.CFG file. If you wish, you may want to add the LOAD
line to your SYS:\SYSTEM\AUTOEXEC.NCF file.
The helpdesk staff can now execute the N4PASS.EXE utility to view
user information and issue password changes.
N4PASS.EXE Notes: (Also, usefull info for the Helpdesk person)
===============================================================
For the 'search' prompt, you can type in the 'short' name
of the network user to search for. In other words, you do not need to
type in the full network name of the user.
Wildcard (*) is supported.
For example, DCOL*, will return a list of all users with the
network name starting with the letters DCOL.
If you know the users last name, you can always use a search text
such as *SMITH* to return a list of all users with the word 'Smith'
in their (common) network name.
The Helpdesk must type in their personal network password at the
HelpDesk verify prompt when wanting to change the endusers password.
When the Helpdesk staff, resets a enduser's password, it is meant as a
temporary password. This is just like when you (as Admin) set a
enduser's password, their password will expire, so that they will be
prompted for a new password when they login.
(One way to test this, is to do an inquire on the person after resetting
their password, and you can see that their password expire date is set
to an already past date.)
How is the password calculated:
===============================
The password display from a 'password change' request is not sent over
the network wire between the server and the client. Instead, the client
(N4PASS.EXE) and server (N4PASS.NLM) use a common calculation with
multiple variables to create the password.
The variables that go into a password are:
1. Month
2. Day
3. FileName of 'request' file.
4. Requester (helpdesk) object name.
5. User object name.
6. Seed Number.
Variable #3 can be only found by a network snifer device on the network
wire or another helpdesk workstation.
Variable #6 is set by you when configuring N4PASS.EXE on the
workstation and in the N4PASS.CFG (which noone should have read
access too) it is 'relatively' safe.
Also, since, the HelpDesk person should already have the user on the
phone, and the user should be then logging in under the 'temporary'
generated password and then changing to a permanent password, then
the 'time of exposure' should be short.
The password characters are composed of 0 thru 9 and A thru F.
Futures: (planned)
==================
Whats new in version 1.0:
. When n4pass.nlm changes the user's password, it will also reset
the Intruder Lockout.
Whats new in version 1.1: Nov 31, 1995
. Add a 'prefix' password for sites that need a greater than 5
character password.
Whats new in version 1.2: Dec 31, 1995
. Added the capability of N4Pass to use a password file. With this
additional values are possible when setting passwords.
. Added 'Add 1 Grace Login' button.
. It was found, that DSAPI.NLM needs to be loaded before loading
N4PASS.NLM. The newer .NLM will autoload DSAPI.NLM and CLIB.NLM
if not already loaded.
. Increased the file-communication timeout to 15 seconds. Basically,
the n4pass.exe will now wait for 15 seconds before it will display
a dialog saying that it can not communicate with the n4pass.nlm.
Whats new in version 1.25: March 31, 1996
. Changed file handling done by N4PASS.NLM.
. Added code to to force unload of N4PASS.NLM if timeout occurs during
normal unload of N4PASS.NLM.
. Added date/time stamp so that the admin can see exactly the time length
consumed for different activities. DebugMode must be set to Yes.
. Created Visual Basic N4PASSVB.EXE. This or the default N4PASS.EXE can
be used by the admin. Download N4PA-VB.EXE from website.
http://www.fastlane.net/homepages/dcollins
Whats new in version 1.26: April 31, 1996
. The TimeOut variable is now settable in the command line parameter
when running the N4PASSVB.EXE client.
(This setting is for 10k user and larger sites)
. The admin can now specify in the N4PASS.CFG file by using the
configuration noun ContainerSearchList, which containers can be
searched (and all below) for users.
(This setting is for 10k user and larger sites)
Whats new in version 1.3: December 31, 1996
. Removed N4PASS.EXE. Renamed N4PASSVB.EXE to N4PASS.EXE.
. Add capability for the Helpdesk user to specify the new password,
when doing a 'reset password' procedure.
. Alias objects are now supported. Previous versions could not
'wildcard' search for alias objects.
. Have added 'base object' checking. This means that the helpdesk
can only specify objects that are a 'user' or an alias object
to a 'user' object.
Whats new in version 1.3: February 1, 1997
. Fixed bug in reporting if the user was 'Intruder Lockout' or not.
N4Pass.EXE (new) never reported that it was locked out.
. Received a message that N4Pass.Exe does not work with MS NDS on
Windows95. Hmm. I need to find out why. But, from what I heard
the MS NDS does not support NDS very well, so, may have stumbled
across something that MS NDS doesn't like.
Whats new
. ?
Workstation Requirements:
=========================
. DOS 5.0 or later.
. Novell VLM (network requestor) logged into a Netware 4.1 server.
It must be a NDS (Netware Directory Services) connection.
. Client (workstation) must run VLM 1.2 or later.
N4Pass.EXE does appear to work on a Windows95 station with the
Novell Client32 for Windows95 drivers installed.
. Helpdesk staff must have a valid password for their account.
(must not be blank)
. The Windows 3.1, 3.11 or Windows95 workstation must be running the
Netware drivers and be probably configured.
. By default N4PASS.EXE will expect the proper unicode table files
are located in the subdirectory named NLS under the current Windows
subdirectory.
. Basically, if you can run Novell's NWADMIN.EXE then you should be able
run N4PASS.EXE.
Note... however, that you will need to have the .DLL required for
Visual Basic applications.
Server Requirements:
====================
. Run DS.NLM version 4.89a or later. (This is in DSENH.EXE)
. This same server should have a 'replica' of the NDS tree on it.
It is not a requirement but it will help speed up searches.
. Server patches suggested.
Note: As of 10/15/95, you should have at least applied DSENH.EXE,
410PT2.EXE, LOG412.EXE, RTRUP?.EXE. All of these files can be found
in the Compuserve forum NWOSFILES's File library, and are new since the
release of Netware 4.10. You may find that these files provide better
performance in the NDS usage and may fix some problems with NWAdmin.
. N4Pass.NLM must run on a Netware 4.10 or 4.11 server.
Normally, you will run the .NLM on one server only in a NDS tree.
If you have helpdesk staff located on a more than one server, then
you may load additional copies on the other server so the helpdesk
staff can run it on their 'home' server.
. N4PASS.NLM consumes approximately 60K of server memory.
. N4PASS.NLM will consume about .05% of CPU resource approximately
every 2 seconds peaks.
. Dec 96: I have found no problems with using N4PASS.NLM on a server
running Novell InternetWare 4.11 or plain Netware 4.11.
Limitations:
============
Since it uses a file based method of communication and the contents
are not encrypted, then it is possible for someone to intercept some
keys and figure out the password.
But, for this to happen, they must know the 'seed#' value on the
Helpdesk workstation and a few other items.
On this note, if you are using a password file, then only those that
know what is in the password file will figure out the password.
N4Pass.Exe and N4Pass.Nlm do not pass any actual passwords over the
network wire. Also, since, only N4Pass.Nlm reads the N4Pass.Lst
then the file contents are not transmitted over the network wire.
The exception to the above paragraph, is that if you use the '/Specify'
parameter on the N4pass.exe, and thus allow the helpdesk to specify
the new password, then, a scrambled password is sent over the wire.
This situation will pose a security problem if there is a sniffer on
segment that the helpdesk is on, and the person's account being reset
will not login soon after, so that they can assign themselves a real
password. (The helpdesk's verify password is never sent over the
wire)
Thanks:
=======
Peter Kuo, who sent feedback about the beta release.
Randy Cook, Novell developer support on Compuserve forum NDEVSUP.
This utility is compiled using the Novell SDK volume 4.
Required Modules for N4PASS.NLM:
================================
CLIB.NLM must be loaded. If it is not loaded when you load n4pass.nlm,
it should autoload the CLIB.NLM app.
DSAPI.NLM must be loaded. If it is not loaded when you load n4pass.nlm,
it should autoload the DSAPI.NLM app.
Required Modules for N4PASS.EXE:
================================
Windows DLLs (located in c:\windows\system) accessed by N4PASS.EXE.
VB40016.DLL
OC25.DLL
OLE2.DLL
TYPELIB.DLL
OLE2DISP.DLL
OLE2PROX.DLL
OLE2CONV.DLL
STORAGE.DLL
COMPOBJ.DLL
OLE2.REG
OLE2NLS.DLL
STDOLE.TLB
SCP.DLL
VAEN21.OLB
CTL3DV2.DLL
I have included these files in the N4PA-VB.ZIP file located at:
http://www.fastlane.net/homepages/dcollins
VB40016.DLL
OC25.DLL
VAEN21.OLB
CTL3DV2.DLL
In addition, the n4passvb.exe will need the following novell DLL
files on your system. (If you have installed the Novell client, then
you should already have the files in your c:\windows\system directory.)
nwnet.dll
nwlocale.dll
nwcalls.dll
WhoAmI:
=======
Darwin Collins, works at Dallas Area Rapid Transit in Dallas, Texas USA.
Voice: 214-749-3022.
Environment: 1k user base connected to Netware 4.10 servers.
My job pays me to be a Network Administrator.
I have been writing programs since 1980. My first published utility
was called 'Graphic Writer' published in SoftSide in August 1982.
You could find a variety of my earlier utilities published in books
such as 'LAN Desktop Guide To Troubleshooting' by Rick Segal, and
'NetWare Unleashed Vol 1 and 2' from SAMS Publishing.
My only commerical attempt, is a product called 'Office Logic Clerk',
which is a MHS-compatible (SMF-70,SMF-71) super utility (Alphapaging,
dlists, file librarian/requestor, ...) marketed by LAN-ACES Inc. in
Houston, TX. 800-LAN-ACES. They have a email groupware product
called Office Logic Email which is pretty neat!
My standard NET.CFG file for VLM 1.20 drivers is:
=================================================
preferred server=HOME
show dots = ON
file handles = 60
print header = 255
print tail = 64
Link Driver NE2000
Protocol IPX 8137 ETHERNET_II
Frame ETHERNET_II
INT 15
PORT 340
NETWARE DOS REQUESTER
SET STATION TIME = ON
LOAD CONN TABLE LOW = ON
CONNECTIONS = 8
LARGE INTERNET PACKETS = ON
SIGNATURE LEVEL = 1
CACHE BUFFERS = 5
CACHE BUFFER SIZE = 1436
CACHE WRITES = ON
TRUE COMMIT = OFF
PB BUFFERS = 3
PBURST READ WINDOW SIZE = 16
FIRST NETWORK DRIVE = H
SHOW DOTS = ON
NAME CONTEXT = "O=HOME"
FORCE FIRST NETWORK DRIVE = ON
LOAD LOW REDIR = ON
READ ONLY COMPATIBILITY = ON
USE DEFAULTS = OFF
VLM = CONN.VLM
VLM = IPXNCP.VLM
VLM = TRAN.VLM
VLM = SECURITY.VLM
VLM = NDS.VLM
VLM = BIND.VLM
VLM = NWP.VLM
VLM = FIO.VLM
VLM = GENERAL.VLM
VLM = REDIR.VLM
VLM = PRINT.VLM
VLM = NETX.VLM
[end]
Below is a list of error codes from Novell SDK volume 4.
SHELL_ERROR 0x8800
VLM_ERROR 0x8800
ALREADY_ATTACHED 0x8800 0
- Attach attempted to server with valid, existing connection
INVALID_CONNECTION 0x8801 1
- Request attempted with invalid or non-attached connection handle
DRIVE_IN_USE 0x8802 2
- OS/2 only (NOT USED)
CANT_ADD_CDS 0x8803 3
- Map drive attempted but unable to add new current directory structure
BAD_DRIVE_BASE 0x8804 4
- Map drive attempted with invalid path specification
NET_READ_ERROR 0x8805 5
- Attempt to receive from the selected transport failed
NET_RECV_ERROR 0x8805 5
UNKNOWN_NET_ERROR 0x8806 6
- Network send attempted with an un-specific network error
SERVER_INVALID_SLOT 0x8807 7
- Server request attempted with invalid server connection slot
BAD_SERVER_SLOT 0x8807 7
NO_SERVER_SLOTS 0x8808 8
- Attach attempted to server with no connection slots available
NET_WRITE_ERROR 0x8809 9
- Attempt to send on the selected transport failed
NET_SEND_ERROR 0x8809 9
SERVER_NO_ROUTE 0x880A 10
- Attempted to find route to server where no route exists
BAD_LOCAL_TARGET 0x880B 11 - OS/2 only
TOO_MANY_REQ_FRAGS 0x880C 12
- Attempted request with too many request fragments specified
CONNECT_LIST_OVERFLOW 0x880D 13
BUFFER_OVERFLOW 0x880E 14
- Attempt to receive more data than the reply buffer had room for
NO_CONN_TO_SERVER 0x880F 15
NO_CONNECTION_TO_SERVER 0x880F 15
- Attempt to get connection for a server not connected
NO_ROUTER_FOUND 0x8810 16 - OS/2 only
BAD_FUNC_ERROR 0x8811 17
INVALID_SHELL_CALL 0x8811 17
- Attempted function call to non- existent or illegal function
NOT_SAME_CONNECTION 0x8830 48
- Internal server request attempted accross different server connections
PRIMARY_CONNECTION_NOT_SET 0x8831 49
- Attempt to retrieve default connection with no primary connection set
NO_PRIMARY_SET 0x8831 49
NO_CAPTURE_SET 0x8832 50
NO_CAPTURE_IN_PROGRESS 0x8832 50
- Capture information requested on port with no capture in progress
BAD_BUFFER_LENGTH 0x8833 51
INVALID_BUFFER_LENGTH 0x8833 51
- Used to indicate length which caller requested on a GetDNC or SetDNC was too large
NO_USER_NAME 0x8834 52
NO_NETWARE_PRINT_SPOOLER 0x8835 53
- Capture requested without having the local print spooler installed
INVALID_PARAMETER 0x8836 54
- Attempted function with an invalid function parameter specified
CONFIG_FILE_OPEN_FAILED 0x8837 55 - OS/2 only
NO_CONFIG_FILE 0x8838 56 - OS/2 only
CONFIG_FILE_READ_FAILED 0x8839 57 - OS/2 only
CONFIG_LINE_TOO_LONG 0x883A 58 - OS/2 only
CONFIG_LINES_IGNORED 0x883B 59 - OS/2 only
NOT_MY_RESOURCE 0x883C 60
- Attempted request made with a parameter using foriegn resource
DAEMON_INSTALLED 0x883D 61 - OS/2 only
SPOOLER_INSTALLED 0x883E 62
- Attempted load of print spooler with print spooler already installed
CONN_TABLE_FULL 0x883F 63
CONNECTION_TABLE_FULL 0x883F 63
- Attempted to allocate a connection handle with no more local connection table entries
CONFIG_SECTION_NOT_FOUND 0x8840 64 - OS/2 only
BAD_TRAN_TYPE 0x8841 65
INVALID_TRANSPORT_TYPE 0x8841 65
- Attempted function on a connection with an invalid transport selected
TDS_TAG_IN_USE 0x8842 66 - OS/2 only
TDS_OUT_OF_MEMORY 0x8843 67 - OS/2 only
TDS_INVALID_TAG 0x8844 68
- Attempted TDS function with invalid tag
TDS_WRITE_TRUNCATED 0x8845 69
- Attempted TDS write with buffer that exceeded buffer
NO_DIRECTORY_SERVICE_CONNECTION 0x8846 70
SERVICE_BUSY 0x8846 70
- Attempted request made to partially asynchronous function in busy state
NO_SERVER_ERROR 0x8847 71
- Attempted connect failed to find any servers responding
BAD_VLM_ERROR 0x8848 72
- Attempted function call to non-existant or not-loaded overlay
NETWORK_DRIVE_IN_USE 0x8849 73
- Attempted map to network drive that was already mapped
LOCAL_DRIVE_IN_USE 0x884A 74
- Attempted map to local drive that was in use
NO_DRIVES_AVAILABLE 0x884B 75
- Attempted map to next available drive when none were available
DEVICE_NOT_REDIRECTED 0x884C 76
- The device is not redirected
NO_MORE_SFT_ENTRIES 0x884D 77
- Maximum number of files was reached
UNLOAD_ERROR 0x884E 78
- Attempted unload failed
IN_USE_ERROR 0x884F 79
- Attempted re-use of already in use connection entry
TOO_MANY_REP_FRAGS 0x8850 80
- Attempted request with too many reply fragments specified
TABLE_FULL 0x8851 81
- Attempted to add a name into the name table after it was full
SOCKET_NOT_OPEN 0x8852 82
- Listen was posted on unopened socket
MEM_MGR_ERROR 0x8853 83
- Attempted enhanced memory operation failed
SFT3_ERROR 0x8854 84
- An SFT3 switch occured mid-transfer
PREFERRED_NOT_FOUND 0x8855 85
- the preferred directory server was not established but another directory server was returned
DEVICE_NOT_RECOGNIZED 0x8856 86
- used to determine if the device is not used by VISE so pass it on to the next redirector, if any.
BAD_NET_TYPE 0x8857 87
- the network type (Bind/NDS) does not match the server version
ERROR_OPENING_FILE 0x8858 88
- generic open failure error, invalid path, access denied, etc..
NO_PREFERRED_SPECIFIED 0x8859 89
- no preferred name specified
ERROR_OPENING_SOCKET 0x885A 90
- error opening a socket
SHELL_FAILURE 0x88FF
VLM_FAILURE 0x88FF
Server Errors
ERR_INSUFFICIENT_SPACE 0x8901 001
ERR_BUFFER_TOO_SMALL 0x8977 119
ERR_VOLUME_FLAG_NOT_SET 0x8978 120 the service requested, not avail. on the selected vol.
ERR_NO_ITEMS_FOUND 0x8979 121
ERR_CONN_ALREADY_TEMP 0x897a 122
ERR_CONN_ALREADY_LOGGED_IN 0x897b 123
ERR_CONN_NOT_AUTHENTICATED 0x897c 124
ERR_CONN_NOT_LOGGED_IN 0x897d 125
NCP_BOUNDARY_CHECK_FAILED 0x897e 126
ERR_LOCK_WAITING 0x897f 127
ERR_LOCK_FAIL 0x8980 128
FILE_IN_USE_ERROR 0x8980 128
NO_MORE_FILE_HANDLES 0x8981 129
NO_OPEN_PRIVILEGES 0x8982 130
IO_ERROR_NETWORK_DISK 0x8983 131
NO_CREATE_PRIVILEGES 0x8984 132
NO_CREATE_DELETE_PRIVILEGES 0x8985 133
CREATE_FILE_EXISTS_READ_ONLY 0x8986 134
WILD_CARDS_IN_CREATE_FILE_NAME 0x8987 135
INVALID_FILE_HANDLE 0x8988 136
NO_SEARCH_PRIVILEGES 0x8989 137
NO_DELETE_PRIVILEGES 0x898A 138
NO_RENAME_PRIVILEGES 0x898B 139
NO_MODIFY_PRIVILEGES 0x898C 140
SOME_FILES_AFFECTED_IN_USE 0x898D 141
NO_FILES_AFFECTED_IN_USE 0x898E 142
SOME_FILES_AFFECTED_READ_ONLY 0x898F 143
NO_FILES_AFFECTED_READ_ONLY 0x8990 144
SOME_FILES_RENAMED_NAME_EXISTS 0x8991 145
NO_FILES_RENAMED_NAME_EXISTS 0x8992 146
NO_READ_PRIVILEGES 0x8993 147
NO_WRITE_PRIVILEGES_OR_READONLY 0x8994 148
FILE_DETACHED 0x8995 149
SERVER_OUT_OF_MEMORY 0x8996 150
ERR_TARGET_NOT_A_SUBDIRECTORY 0x8986 150 can be changed later (note written by server people).
NO_DISK_SPACE_FOR_SPOOL_FILE 0x8997 151
VOLUME_DOES_NOT_EXIST 0x8998 152
DIRECTORY_FULL 0x8999 153
RENAMING_ACROSS_VOLUMES 0x899A 154
BAD_DIRECTORY_HANDLE 0x899B 155
INVALID_PATH 0x899C 156
NO_MORE_TRUSTEES 0x899C 156
NO_MORE_DIRECTORY_HANDLES 0x899D 157
INVALID_FILENAME 0x899E 158
DIRECTORY_ACTIVE 0x899F 159
DIRECTORY_NOT_EMPTY 0x89A0 160
DIRECTORY_IO_ERROR 0x89A1 161
READ_FILE_WITH_RECORD_LOCKED 0x89A2 162
ERR_TRANSACTION_RESTARTED 0x89A3 163
ERR_RENAME_DIR_INVALID 0x89A4 164
ERR_INVALID_OPENCREATE_MODE 0x89A5 165
ERR_ALREADY_IN_USE 0x89A6 166
ERR_INVALID_RESOURCE_TAG 0x89A7 167
ERR_ACCESS_DENIED 0x89A8 168
INVALID_DATA_STREAM 0x89BE 190
INVALID_NAME_SPACE 0x89BF 191
NO_ACCOUNTING_PRIVILEGES 0x89C0 192
LOGIN_DENIED_NO_ACCOUNT_BALANCE 0x89C1 193
LOGIN_DENIED_NO_CREDIT 0x89C2 194
ERR_TOO_MANY_HOLDS 0x89C3 195
ACCOUNTING_DISABLED 0x89C4 196
INTRUDER_DETECTION_LOCK 0x89C5 197
NO_CONSOLE_OPERATOR 0x89C6 198
NO_CONSOLE_PRIVILEGES 0x89C6 198
ERR_Q_IO_FAILURE 0x89D0 208
ERR_NO_QUEUE 0x89D1 209
ERR_NO_Q_SERVER 0x89D2 210
ERR_NO_Q_RIGHTS 0x89D3 211
ERR_Q_FULL 0x89D4 212
ERR_NO_Q_JOB 0x89D5 213
ERR_NO_Q_JOB_RIGHTS 0x89D6 214
ERR_Q_IN_SERVICE 0x89D7 215
PASSWORD_NOT_UNIQUE 0x89D7 215
ERR_Q_NOT_ACTIVE 0x89D8 216
PASSWORD_TOO_SHORT 0x89D8 216
ERR_Q_STN_NOT_SERVER 0x89D9 217
LOGIN_DENIED_NO_CONNECTION 0x89D9 217
ERR_MAXIMUM_LOGINS_EXCEEDED 0x89D9 217
ERR_Q_HALTED 0x89DA 218
UNAUTHORIZED_LOGIN_TIME 0x89DA 218
UNAUTHORIZED_LOGIN_STATION 0x89DB 219
ERR_Q_MAX_SERVERS 0x89DB 219
ACCOUNT_DISABLED 0x89DC 220
PASSWORD_HAS_EXPIRED_NO_GRACE 0x89DE 222
PASSWORD_HAS_EXPIRED 0x89DF 223
E_NO_MORE_USERS 0x89E7 231
NOT_ITEM_PROPERTY 0x89E8 232
WRITE_PROPERTY_TO_GROUP 0x89E8 232
MEMBER_ALREADY_EXISTS 0x89E9 233
NO_SUCH_MEMBER 0x89EA 234
NOT_GROUP_PROPERTY 0x89EB 235
NO_SUCH_SEGMENT 0x89EC 236
PROPERTY_ALREADY_EXISTS 0x89ED 237
OBJECT_ALREADY_EXISTS 0x89EE 238
INVALID_NAME 0x89EF 239
WILD_CARD_NOT_ALLOWED 0x89F0 240
INVALID_BINDERY_SECURITY 0x89F1 241
NO_OBJECT_READ_PRIVILEGE 0x89F2 242
NO_OBJECT_RENAME_PRIVILEGE 0x89F3 243
NO_OBJECT_DELETE_PRIVILEGE 0x89F4 244
NO_OBJECT_CREATE_PRIVILEGE 0x89F5 245
NO_PROPERTY_DELETE_PRIVILEGE 0x89F6 246
NO_PROPERTY_CREATE_PRIVILEGE 0x89F7 247
NO_PROPERTY_WRITE_PRIVILEGE 0x89F8 248
NO_FREE_CONNECTION_SLOTS 0x89F9 249
NO_PROPERTY_READ_PRIVILEGE 0x89F9 249
NO_MORE_SERVER_SLOTS 0x89FA 250
TEMP_REMAP_ERROR 0x89FA 250
INVALID_PARAMETERS 0x89FB 251
NO_SUCH_PROPERTY 0x89FB 251
ERR_NCP_NOT_SUPPORTED 0x89FB 251
INTERNET_PACKET_REQT_CANCELED 0x89FC 252
UNKNOWN_FILE_SERVER 0x89FC 252
MESSAGE_QUEUE_FULL 0x89FC 252
NO_SUCH_OBJECT 0x89FC 252
LOCK_COLLISION 0x89FD 253
BAD_STATION_NUMBER 0x89FD 253
INVALID_PACKET_LENGTH 0x89FD 253
UNKNOWN_REQUEST 0x89FD 253
BINDERY_LOCKED 0x89FE 254
TRUSTEE_NOT_FOUND 0x89FE 254
DIRECTORY_LOCKED 0x89FE 254
INVALID_SEMAPHORE_NAME_LENGTH 0x89FE 254
PACKET_NOT_DELIVERABLE 0x89FE 254
SERVER_BINDERY_LOCKED 0x89FE 254
SOCKET_TABLE_FULL 0x89FE 254
SPOOL_DIRECTORY_ERROR 0x89FE 254
SUPERVISOR_HAS_DISABLED_LOGIN 0x89FE 254
TIMEOUT_FAILURE 0x89FE 254
BAD_PRINTER_ERROR 0x89FF 255
BAD_RECORD_OFFSET 0x89FF 255
CLOSE_FCB_ERROR 0x89FF 255
FILE_EXTENSION_ERROR 0x89FF 255
FILE_NAME_ERROR 0x89FF 255
HARDWARE_FAILURE 0x89FF 255
INVALID_DRIVE_NUMBER 0x89FF 255
DOS_INVALID_DRIVE 0x000F 255
INVALID_INITIAL_SEMAPHORE_VALUE 0x89FF 255
INVALID_SEMAPHORE_HANDLE 0x89FF 255
IO_BOUND_ERROR 0x89FF 255
NO_FILES_FOUND_ERROR 0x89FF 255
NO_RESPONSE_FROM_SERVER 0x89FF 255
NO_SUCH_OBJECT_OR_BAD_PASSWORD 0x89FF 255
PATH_NOT_LOCATABLE 0x89FF 255
QUEUE_FULL_ERROR 0x89FF 255
REQUEST_NOT_OUTSTANDING 0x89FF 255
SOCKET_ALREADY_OPEN 0x89FF 255
LOCK_ERROR 0x89FF 255
ERR_INSUFFICIENT_MEMORY -150 0xFFFFFF6A, OS ERR_NO_ALLOC_SPACE is 0x96
ERR_REQUEST_UNKNOWN -251 0xFFFFFF05, OS ERR_UNKNOWN_REQUEST is 0xFB
ERR_OF_SOME_SORT -255 0xFFFFFF01, many OS errors are originally 0xFF
-301 to -399 are returned by the directory services client library
ERR_NOT_ENOUGH_MEMORY -301 0xFFFFFED3
ERR_BAD_KEY -302 0xFFFFFED2
ERR_BAD_CONTEXT -303 0xFFFFFED1
ERR_BUFFER_FULL -304 0xFFFFFED0
ERR_LIST_EMPTY -305 0xFFFFFECF
ERR_BAD_SYNTAX -306 0xFFFFFECE
ERR_BUFFER_EMPTY -307 0xFFFFFECD
ERR_BAD_VERB -308 0xFFFFFECC
ERR_EXPECTED_IDENTIFIER -309 0xFFFFFECB
ERR_EXPECTED_EQUALS -310 0xFFFFFECA
ERR_ATTR_TYPE_EXPECTED -311 0xFFFFFEC9
ERR_ATTR_TYPE_NOT_EXPECTED -312 0xFFFFFEC8
ERR_FILTER_TREE_EMPTY -313 0xFFFFFEC7
ERR_INVALID_OBJECT_NAME -314 0xFFFFFEC6
ERR_EXPECTED_RDN_DELIMITER -315 0xFFFFFEC5
ERR_TOO_MANY_TOKENS -316 0xFFFFFEC4
ERR_INCONSISTENT_MULTIAVA -317 0xFFFFFEC3
ERR_COUNTRY_NAME_TOO_LONG -318 0xFFFFFEC2
ERR_SYSTEM_ERROR -319 0xFFFFFEC1
ERR_CANT_ADD_ROOT -320 0xFFFFFEC0
ERR_UNABLE_TO_ATTACH -321 0xFFFFFEBF
ERR_INVALID_HANDLE -322 0xFFFFFEBE
ERR_BUFFER_ZERO_LENGTH -323 0xFFFFFEBD
ERR_INVALID_REPLICA_TYPE -324 0xFFFFFEBC
ERR_INVALID_ATTR_SYNTAX -325 0xFFFFFEBB
ERR_INVALID_FILTER_SYNTAX -326 0xFFFFFEBA
ERR_CONTEXT_CREATION -328 0xFFFFFEB8
ERR_INVALID_UNION_TAG -329 0xFFFFFEB7
ERR_INVALID_SERVER_RESPONSE -330 0xFFFFFEB6
ERR_NULL_POINTER -331 0xFFFFFEB5
ERR_NO_SERVER_FOUND -332 0xFFFFFEB4
ERR_NO_CONNECTION -333 0xFFFFFEB3
ERR_RDN_TOO_LONG -334 0xFFFFFEB2
ERR_DUPLICATE_TYPE -335 0xFFFFFEB1
ERR_DATA_STORE_FAILURE -336 0xFFFFFEB0
ERR_NOT_LOGGED_IN -337 0xFFFFFEAF
ERR_INVALID_PASSWORD_CHARS -338 0xFFFFFEAE
ERR_FAILED_SERVER_AUTHENT -339 0xFFFFFEAD
ERR_TRANSPORT -340 0xFFFFFEAC
ERR_NO_SUCH_SYNTAX -341 0xFFFFFEAB
ERR_INVALID_DS_NAME -342 0xFFFFFEAA
ERR_ATTR_NAME_TOO_LONG -343 0xFFFFFEA9
ERR_INVALID_TDS -344 0xFFFFFEA8
ERR_INVALID_DS_VERSION -345 0xFFFFFEA7
ERR_UNICODE_TRANSLATION -346 0xFFFFFEA6
ERR_SCHEMA_NAME_TOO_LONG -347 0xFFFFFEA5
ERR_UNICODE_FILE_NOT_FOUND -348 0xFFFFFEA4
ERR_UNICODE_ALREADY_LOADED -349 0xFFFFFEA3
ERR_NOT_CONTEXT_OWNER -350 0xFFFFFEA2
ERR_ATTEMPT_TO_AUTHENTICATE_0 -351 0xFFFFFEA1
ERR_NO_WRITABLE_REPLICAS -352 0xFFFFFEA0
ERR_DN_TOO_LONG -353 0xFFFFFE9F
ERR_RENAME_NOT_ALLOWED -354 0xFFFFFE9E
-601 to -699 are returned by the directory services agent in the server
ERR_NO_SUCH_ENTRY -601 0xFFFFFDA7
ERR_NO_SUCH_VALUE -602 0xFFFFFDA6
ERR_NO_SUCH_ATTRIBUTE -603 0xFFFFFDA5
ERR_NO_SUCH_CLASS -604 0xFFFFFDA4
ERR_NO_SUCH_PARTITION -605 0xFFFFFDA3
ERR_ENTRY_ALREADY_EXISTS -606 0xFFFFFDA2
ERR_NOT_EFFECTIVE_CLASS -607 0xFFFFFDA1
ERR_ILLEGAL_ATTRIBUTE -608 0xFFFFFDA0
ERR_MISSING_MANDATORY -609 0xFFFFFD9F
ERR_ILLEGAL_DS_NAME -610 0xFFFFFD9E
ERR_ILLEGAL_CONTAINMENT -611 0xFFFFFD9D
ERR_CANT_HAVE_MULTIPLE_VALUES -612 0xFFFFFD9C
ERR_SYNTAX_VIOLATION -613 0xFFFFFD9B
ERR_DUPLICATE_VALUE -614 0xFFFFFD9A
ERR_ATTRIBUTE_ALREADY_EXISTS -615 0xFFFFFD99
ERR_MAXIMUM_ENTRIES_EXIST -616 0xFFFFFD98
ERR_DATABASE_FORMAT -617 0xFFFFFD97
ERR_INCONSISTENT_DATABASE -618 0xFFFFFD96
ERR_INVALID_COMPARISON -619 0xFFFFFD95
ERR_COMPARISON_FAILED -620 0xFFFFFD94
ERR_TRANSACTIONS_DISABLED -621 0xFFFFFD93
ERR_INVALID_TRANSPORT -622 0xFFFFFD92
ERR_SYNTAX_INVALID_IN_NAME -623 0xFFFFFD91
ERR_REPLICA_ALREADY_EXISTS -624 0xFFFFFD90
ERR_TRANSPORT_FAILURE -625 0xFFFFFD8F
ERR_ALL_REFERRALS_FAILED -626 0xFFFFFD8E
ERR_CANT_REMOVE_NAMING_VALUE -627 0xFFFFFD8D
ERR_OBJECT_CLASS_VIOLATION -628 0xFFFFFD8C
ERR_ENTRY_IS_NOT_LEAF -629 0xFFFFFD8B
ERR_DIFFERENT_TREE -630 0xFFFFFD8A
ERR_ILLEGAL_REPLICA_TYPE -631 0xFFFFFD89
ERR_SYSTEM_FAILURE -632 0xFFFFFD88
ERR_INVALID_ENTRY_FOR_ROOT -633 0xFFFFFD87
ERR_NO_REFERRALS -634 0xFFFFFD86
ERR_REMOTE_FAILURE -635 0xFFFFFD85
ERR_UNREACHABLE_SERVER -636 0XFFFFFD84
ERR_PREVIOUS_MOVE_IN_PROGRESS -637 0XFFFFFD83
ERR_NO_CHARACTER_MAPPING -638 0XFFFFFD82
ERR_INCOMPLETE_AUTHENTICATION -639 0XFFFFFD81
ERR_INVALID_CERTIFICATE -640 0xFFFFFD80
ERR_INVALID_REQUEST -641 0xFFFFFD7F
ERR_INVALID_ITERATION -642 0xFFFFFD7E
ERR_SCHEMA_IS_NONREMOVABLE -643 0xFFFFFD7D
ERR_SCHEMA_IS_IN_USE -644 0xFFFFFD7C
ERR_CLASS_ALREADY_EXISTS -645 0xFFFFFD7B
ERR_BAD_NAMING_ATTRIBUTES -646 0xFFFFFD7A
ERR_NOT_ROOT_PARTITION -647 0xFFFFFD79
ERR_INSUFFICIENT_STACK -648 0xFFFFFD78
ERR_INSUFFICIENT_BUFFER -649 0xFFFFFD77
ERR_AMBIGUOUS_CONTAINMENT -650 0xFFFFFD76
ERR_AMBIGUOUS_NAMING -651 0xFFFFFD75
ERR_DUPLICATE_MANDATORY -652 0xFFFFFD74
ERR_DUPLICATE_OPTIONAL -653 0xFFFFFD73
ERR_PARTITION_BUSY -654 0XFFFFFD72
ERR_MULTIPLE_REPLICAS -655 0xFFFFFD71
ERR_CRUCIAL_REPLICA -656 0xFFFFFD70
ERR_SCHEMA_SYNC_IN_PROGRESS -657 0xFFFFFD6F
ERR_SKULK_IN_PROGRESS -658 0xFFFFFD6E
ERR_TIME_NOT_SYNCHRONIZED -659 0xFFFFFD6D
ERR_RECORD_IN_USE -660 0xFFFFFD6C
ERR_DS_VOLUME_NOT_MOUNTED -661 0xFFFFFD6B
ERR_DS_VOLUME_IO_FAILURE -662 0xFFFFFD6A
ERR_DS_LOCKED -663 0xFFFFFD69
ERR_OLD_EPOCH -664 0xFFFFFD68
ERR_NEW_EPOCH -665 0xFFFFFD67
ERR_INCOMPATIBLE_DS_VERSION -666 0xFFFFFD66
ERR_PARTITION_ROOT -667 0xFFFFFD65
ERR_ENTRY_NOT_CONTAINER -668 0xFFFFFD64
ERR_FAILED_AUTHENTICATION -669 0xFFFFFD63
ERR_INVALID_CONTEXT -670 0xFFFFFD62
ERR_NO_SUCH_PARENT -671 0xFFFFFD61
ERR_NO_ACCESS -672 0xFFFFFD60
ERR_REPLICA_NOT_ON -673 0xFFFFFD5F
ERR_INVALID_NAME_SERVICE -674 0xFFFFFD5E
ERR_INVALID_TASK -675 0xFFFFFD5D
ERR_INVALID_CONN_HANDLE -676 0xFFFFFD5C
ERR_INVALID_IDENTITY -677 0xFFFFFD5B
ERR_DUPLICATE_ACL -678 0xFFFFFD5A
ERR_PARTITION_ALREADY_EXISTS -679 0xFFFFFD59
ERR_TRANSPORT_MODIFIED -680 0xFFFFFD58
ERR_ALIAS_OF_AN_ALIAS -681 0xFFFFFD57
ERR_AUDITING_FAILED -682 0xFFFFFD56
ERR_INVALID_API_VERSION -683 0xFFFFFD55
ERR_SECURE_NCP_VIOLATION -684 0xFFFFFD54
ERR_MOVE_IN_PROGRESS -685 0xFFFFFD53
ERR_NOT_LEAF_PARTITION -686 0xFFFFFD52
ERR_CANNOT_ABORT -687 0xFFFFFD51
ERR_CACHE_OVERFLOW -688 0xFFFFFD50
ERR_INVALID_SUBORDINATE_COUNT -689 0xFFFFFD4F
ERR_INVALID_RDN -690 0xFFFFFD4E
ERR_MOD_TIME_NOT_CURRENT -691 0xFFFFFD4D
ERR_INCORRECT_BASE_CLASS -692 0xFFFFFD4C
ERR_MISSING_REFERENCE -693 0xFFFFFD4B
ERR_LOST_ENTRY -694 0xFFFFFD4A
ERR_AGENT_ALREADY_REGISTERED -695 0xFFFFFD49
ERR_DS_LOADER_BUSY -696 0xFFFFFD48
ERR_DS_CANNOT_RELOAD -697 0xFFFFFD47
ERR_REPLICA_IN_SKULK -698 0xFFFFFD46
ERR_FATAL -699 0xFFFFFD45
ERR_OBSOLETE_API -700 0xFFFFFD44
ERR_SYNCHRONIZATION_DISABLED -701 0xFFFFFD43
ERR_INVALID_PARAMETER -702 0xFFFFFD42
ERR_DUPLICATE_TEMPLATE -703 0xFFFFFD41
ERR_NO_MASTER_REPLICA -704 0xFFFFFD40
ERR_DUPLICATE_CONTAINMENT -705 0xFFFFFD3F
---------------------------------------------------------------------------
* -001 to -255 are OS Errors returned through directory services
DSERR_INSUFFICIENT_SPACE -001 FFFFFFFF
DSERR_BUFFER_TOO_SMALL -119 FFFFFF89
DSERR_VOLUME_FLAG_NOT_SET -120 FFFFFF88
DSERR_NO_ITEMS_FOUND -121 FFFFFF87
DSERR_CONN_ALREADY_TEMPORARY -122 FFFFFF86
DSERR_CONN_ALREADY_LOGGED_IN -123 FFFFFF85
DSERR_CONN_NOT_AUTHENTICATED -124 FFFFFF84
DSERR_CONN_NOT_LOGGED_IN -125 FFFFFF83
DSERR_NCP_BOUNDARY_CHECK_FAILED -126 FFFFFF82
DSERR_LOCK_WAITING -127 FFFFFF81
DSERR_LOCK_FAIL -128 FFFFFF80
DSERR_OUT_OF_HANDLES -129 FFFFFF7F
DSERR_NO_OPEN_PRIVILEGE -130 FFFFFF7E
DSERR_HARD_IO_ERROR -131 FFFFFF7D
DSERR_NO_CREATE_PRIVILEGE -132 FFFFFF7C
DSERR_NO_CREATE_DELETE_PRIV -133 FFFFFF7B
DSERR_R_O_CREATE_FILE -134 FFFFFF7A
DSERR_CREATE_FILE_INVALID_NAME -135 FFFFFF79
DSERR_INVALID_FILE_HANDLE -136 FFFFFF78
DSERR_NO_SEARCH_PRIVILEGE -137 FFFFFF77
DSERR_NO_DELETE_PRIVILEGE -138 FFFFFF76
DSERR_NO_RENAME_PRIVILEGE -139 FFFFFF75
DSERR_NO_SET_PRIVILEGE -140 FFFFFF74
DSERR_SOME_FILES_IN_USE -141 FFFFFF73
DSERR_ALL_FILES_IN_USE -142 FFFFFF72
DSERR_SOME_READ_ONLY -143 FFFFFF71
DSERR_ALL_READ_ONLY -144 FFFFFF70
DSERR_SOME_NAMES_EXIST -145 FFFFFF6F
DSERR_ALL_NAMES_EXIST -146 FFFFFF6E
DSERR_NO_READ_PRIVILEGE -147 FFFFFF6D
DSERR_NO_WRITE_PRIVILEGE -148 FFFFFF6C
DSERR_FILE_DETACHED -149 FFFFFF6B
DSERR_NO_ALLOC_SPACE -150 FFFFFF6A
DSERR_TARGET_NOT_A_SUBDIR -150 FFFFFF6A
DSERR_NO_SPOOL_SPACE -151 FFFFFF69
DSERR_INVALID_VOLUME -152 FFFFFF68
DSERR_DIRECTORY_FULL -153 FFFFFF67
DSERR_RENAME_ACROSS_VOLUME -154 FFFFFF66
DSERR_BAD_DIR_HANDLE -155 FFFFFF65
DSERR_INVALID_PATH -156 FFFFFF64
DSERR_NO_SUCH_EXTENSION -156 FFFFFF64
DSERR_NO_DIR_HANDLES -157 FFFFFF63
DSERR_BAD_FILE_NAME -158 FFFFFF62
DSERR_DIRECTORY_ACTIVE -159 FFFFFF61
DSERR_DIRECTORY_NOT_EMPTY -160 FFFFFF60
DSERR_DIRECTORY_IO_ERROR -161 FFFFFF5F
DSERR_IO_LOCKED -162 FFFFFF5E
DSERR_TRANSACTION_RESTARTED -163 FFFFFF5D
DSERR_RENAME_DIR_INVALID -164 FFFFFF5C
DSERR_INVALID_OPENCREATE_MODE -165 FFFFFF5B
DSERR_ALREADY_IN_USE -166 FFFFFF5A
DSERR_INVALID_RESOURCE_TAG -167 FFFFFF59
DSERR_ACCESS_DENIED -168 FFFFFF58
DSERR_INVALID_DATA_STREAM -190 FFFFFF42
DSERR_INVALID_NAME_SPACE -191 FFFFFF41
DSERR_NO_ACCOUNTING_PRIVILEGES -192 FFFFFF40
DSERR_NO_ACCOUNT_BALANCE -193 FFFFFF3F
DSERR_CREDIT_LIMIT_EXCEEDED -194 FFFFFF3E
DSERR_TOO_MANY_HOLDS -195 FFFFFF3D
DSERR_ACCOUNTING_DISABLED -196 FFFFFF3C
DSERR_LOGIN_LOCKOUT -197 FFFFFF3B
DSERR_NO_CONSOLE_RIGHTS -198 FFFFFF3A
DSERR_Q_IO_FAILURE -208 FFFFFF30
DSERR_NO_QUEUE -209 FFFFFF2F
DSERR_NO_Q_SERVER -210 FFFFFF2E
DSERR_NO_Q_RIGHTS -211 FFFFFF2D
DSERR_Q_FULL -212 FFFFFF2C
DSERR_NO_Q_JOB -213 FFFFFF2B
DSERR_NO_Q_JOB_RIGHTS -214 FFFFFF2A
DSERR_UNENCRYPTED_NOT_ALLOWED -214 FFFFFF2A
DSERR_Q_IN_SERVICE -215 FFFFFF29
DSERR_DUPLICATE_PASSWORD -215 FFFFFF29
DSERR_Q_NOT_ACTIVE -216 FFFFFF28
DSERR_PASSWORD_TOO_SHORT -216 FFFFFF28
DSERR_Q_STN_NOT_SERVER -217 FFFFFF27
DSERR_MAXIMUM_LOGINS_EXCEEDED -217 FFFFFF27
DSERR_Q_HALTED -218 FFFFFF26
DSERR_BAD_LOGIN_TIME -218 FFFFFF26
DSERR_Q_MAX_SERVERS -219 FFFFFF25
DSERR_NODE_ADDRESS_VIOLATION -219 FFFFFF25
DSERR_LOG_ACCOUNT_EXPIRED -220 FFFFFF24
DSERR_BAD_PASSWORD -222 FFFFFF22
DSERR_PASSWORD_EXPIRED -223 FFFFFF21
DSERR_NO_LOGIN_CONN_AVAILABLE -224 FFFFFF20
DSERR_WRITE_TO_GROUP_PROPERTY -232 FFFFFF18
DSERR_MEMBER_ALREADY_EXISTS -233 FFFFFF17
DSERR_NO_SUCH_MEMBER -234 FFFFFF16
DSERR_PROPERTY_NOT_GROUP -235 FFFFFF15
DSERR_NO_SUCH_VALUE_SET -236 FFFFFF14
DSERR_PROPERTY_ALREADY_EXISTS -237 FFFFFF13
DSERR_OBJECT_ALREADY_EXISTS -238 FFFFFF12
DSERR_ILLEGAL_NAME -239 FFFFFF11
DSERR_ILLEGAL_WILDCARD -240 FFFFFF10
DSERR_BINDERY_SECURITY -241 FFFFFF0F
DSERR_NO_OBJECT_READ_RIGHTS -242 FFFFFF0E
DSERR_NO_OBJECT_RENAME_RIGHTS -243 FFFFFF0D
DSERR_NO_OBJECT_DELETE_RIGHTS -244 FFFFFF0C
DSERR_NO_OBJECT_CREATE_RIGHTS -245 FFFFFF0B
DSERR_NO_PROPERTY_DELETE_RIGHTS -246 FFFFFF0A
DSERR_NO_PROPERTY_CREATE_RIGHTS -247 FFFFFF09
DSERR_NO_PROPERTY_WRITE_RIGHTS -248 FFFFFF08
DSERR_NO_PROPERTY_READ_RIGHTS -249 FFFFFF07
DSERR_TEMP_REMAP -250 FFFFFF06
DSERR_UNKNOWN_REQUEST -251 FFFFFF05
DSERR_NO_SUCH_PROPERTY -251 FFFFFF05
DSERR_MESSAGE_QUEUE_FULL -252 FFFFFF04
DSERR_TARGET_ALREADY_HAS_MSG -252 FFFFFF04
DSERR_NO_SUCH_OBJECT -252 FFFFFF04
DSERR_BAD_STATION_NUMBER -253 FFFFFF03
DSERR_BINDERY_LOCKED -254 FFFFFF02
DSERR_DIR_LOCKED -254 FFFFFF02
DSERR_SPOOL_DELETE -254 FFFFFF02
DSERR_TRUSTEE_NOT_FOUND -254 FFFFFF02
DSERR_HARD_FAILURE -255 FFFFFF01
DSERR_FILE_NAME -255 FFFFFF01
DSERR_FILE_EXISTS -255 FFFFFF01
DSERR_CLOSE_FCB -255 FFFFFF01
DSERR_IO_BOUND -255 FFFFFF01
DSERR_NO_SPOOL_FILE -255 FFFFFF01
DSERR_BAD_SPOOL_PRINTER -255 FFFFFF01
DSERR_BAD_PARAMETER -255 FFFFFF01
DSERR_NO_FILES_FOUND -255 FFFFFF01
DSERR_NO_TRUSTEE_CHANGE_PRIV -255 FFFFFF01
DSERR_TARGET_NOT_LOGGED_IN -255 FFFFFF01
DSERR_TARGET_NOT_ACCEPTING_MSGS -255 FFFFFF01
DSERR_MUST_FORCE_DOWN -255 FFFFFF01